package com.itheima.service.impl;

import com.itheima.service.FileService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Service
public class FileServiceImpl implements FileService {
    @Override
    public String saveFile(MultipartFile file) throws IOException {
    /*
    准备使用本地存储的方式完成文件的存储
    1.获取真是的文件名（获取文件的后缀）
    2.为了避免文件重名覆盖，需要随机生成一个不重复的文件名，配合上一步的后缀作为即将保存的文件名使用
    3.真正的保存
    * */
        String originalFilename = file.getOriginalFilename();
        //两种方式截取后缀  先找到文件中最后一个点的索引位置，然后再截取即可，或直接通过点分割，获取数组的最后一个元素
        //int i = originalFilename.lastIndexOf(".");
        String[] arr = originalFilename.split("\\.");
        String ext = arr[arr.length-1];
        //2为了避免文件重名覆盖，需要随机生成一个不重复的文件名
        String newName = UUID.randomUUID().toString()+"."+ext;
        File file1 = new File("D://a//" + newName);
        //真正的保存
        file.transferTo(file1);
        return file1.getAbsolutePath();
    }
}
